meson: Change introspection option to yielding feature
authorXavier Claessens <xavier.claessens@collabora.com>
Wed, 30 Sep 2020 13:41:28 +0000 (09:41 -0400)
committerXavier Claessens <xavier.claessens@collabora.com>
Wed, 30 Sep 2020 13:50:24 +0000 (09:50 -0400)
Yielding option means that if pango is built as a subproject, it will
take the value of that option from the parent project (e.g. gst-build).
For that to work it must be of the same type, which is "feature" instead
of "boolean" in all GStreamer modules.

.gitlab-ci.yml
.gitlab-ci/flatpak-build.sh
.gitlab-ci/test-msys2.sh
gtk/meson.build
meson.build
meson_options.txt

index 832880d617ddc714d0f453092b38248918066e90..2f425ca327483e09767f64a472ac3362d2b802e1 100644 (file)
@@ -223,7 +223,7 @@ asan-build:
   needs: []
   variables:
   script:
-    - CC=clang meson --buildtype=debugoptimized -Db_sanitize=address -Db_lundef=false -Dintrospection=false _build
+    - CC=clang meson --buildtype=debugoptimized -Db_sanitize=address -Db_lundef=false -Dintrospection=disabled _build
     - ninja -C _build
     - .gitlab-ci/run-tests.sh _build wayland
   artifacts:
index cbb6c097d1b89e0c156ae4e00e5fa474b679d8d0..531741db1dee9821d8f0a376d5f559a839dbeb70 100644 (file)
@@ -22,7 +22,7 @@ flatpak build ${builddir} meson \
                 -Dprint-backends=file \
                 -Dbuild-tests=false \
                 -Dbuild-examples=false \
-                -Dintrospection=false \
+                -Dintrospection=disabled \
                 -Ddemos=true \
                 _flatpak_build
 
index d311f4bbe7d5fdc814ce51df104068d815642617..dfa881324030083f62206bce7e6172c4451a4f6b 100644 (file)
@@ -67,7 +67,7 @@ meson \
     -Dwayland-backend=false \
     -Dwin32-backend=true \
     -Dvulkan=disabled \
-    -Dintrospection=false \
+    -Dintrospection=disabled \
     -Dgtk:werror=true \
     _build
 unset CCACHE_DISABLE
index 3554c1b2f16a6834905f8afdffb07f0abac4eebe..3e18f05cb60065d7aac7e4e86b8030aa7caeb486 100644 (file)
@@ -1075,8 +1075,11 @@ libgtk = library('gtk-4',
                  install: true)
 
 gtk_dep_sources = [gtkversion, gtktypebuiltins_h]
+
 # Introspection
-build_gir = get_option('introspection')
+gir = find_program('g-ir-scanner', required : get_option('introspection'))
+build_gir = gir.found() and (not meson.is_cross_build() or get_option('introspection').enabled())
+
 if build_gir
   gir_args = [
     '-DGTK_COMPILATION',
index 127671a349691dc8471a35de482eba660cc70ddf..6ad27d21587c8d9188af79a90ac73b3d647fae3e 100644 (file)
@@ -876,7 +876,7 @@ summary('Tracker support', tracker3_dep.found(), section: 'Features')
 # Build
 summary('Debugging', get_option('debug'), section: 'Build')
 summary('Optimization', get_option('optimization'), section: 'Build')
-summary('Introspection', get_option('introspection'), section: 'Build')
+summary('Introspection', build_gir, section: 'Build')
 summary('Documentation', get_option('gtk_doc'), section: 'Build')
 summary('Man pages', get_option('man-pages'), section: 'Build')
 summary('Tests', get_option('build-tests'), section: 'Build')
index f4dc3b43d702a76ef8191cb133b4f9c762afc974..b58c8a9fa0a36c083d6454204e923e886242f586 100644 (file)
@@ -84,8 +84,9 @@ option('man-pages',
        description : 'Build man pages for installed tools')
 
 option('introspection',
-       type: 'boolean',
-       value: 'true',
+       type: 'feature',
+       value: 'auto',
+       yield: true,
        description : 'Build introspection data (requires gobject-introspection)')
 
 # Demos, examples and tests